24490
15110
Chciałbym wyświetlić przedmioty należące do różnych klientów. W tym celu pobieram dane za pośrednictwem połączenia AJAX, a następnie grupuję je na podstawie każdego unikalnego klienta. Następnie dołączam zgrupowane dane do mojego html.
Struktura moich zgrupowanych danych wygląda następująco:
"Nieznany z nazwiska": [
{
„Item_id”: 1
"Item_name": "abc"
},
{
„Item_id”: 2
"Item_name": "def"
},
],
„Jane Doe”:
{
„Item_id”: 3
"Item_name": "ghi"
},
{
„Item_id”: 4
"Item_name": "jkl"
},
]
Mój kod wygląda następująco:
$ .each (groupedData, function (klucz, wartość) {
$ ('. cust_items'). append (`

`+ klawisz +`

Nr pozycji Nazwa pozycji
`); $ .each (value, function (ky, val) { $ ('# dataTable tbody'). append ( ` `+ ky +` `+ val.Item_name +` `); }); }); Mam do czynienia z problemem, w którym wszystkie pozycje są wyświetlane pod pierwszym klientem, podczas gdy dane są wyświetlane poprawnie pod drugim klientem.
Brakuje przecinków po właściwościach i obiektach właściwości Jane Doe nie są ujęte w []. Rozważ zmianę obiektu groupedData, ponieważ składnia jest nieprawidłowa.
Edycja: Dostosowano również ciąg szablonu i dostęp do tabeli z dynamicznym identyfikatorem.
Próba:
niech groupedData = {
"Nieznany z nazwiska": [{
"Item_id": 1,
"Item_name": "abc"
},
{
"Item_id": 2,
"Item_name": "def"
}
],
"Jane Doe": [{
"Item_id": 3,
"Item_name": "ghi"
},
{
"Item_id": 4,
"Item_name": "jkl"
}
]
};
$ .each (groupedData, function (klucz, wartość) {
$ ('. cust_items'). append (`

$ {key}

Nr pozycji Nazwa pozycji
`); $ .each (value, function (ky, val) { $ (`#dataTable _ $ {key.split ('') .join ('_')} tbody`) .append ( ` $ {ky} $ {val.Item_name} `); }); });
| Trochę spóźniłem się na imprezę, ale oto zabawny i praktyczny sposób na dynamiczne wyświetlanie danych za pomocą elementu